home *** CD-ROM | disk | FTP | other *** search
/ Mac Magazin/MacEasy 32 / Mac Magazin and MacEasy Magazine CD - Issue 32.iso / Grafik & Text / OzTeX3.0 / Metafont / Inputs / ec / ecstdedt.tex < prev    next >
Text File  |  1997-03-16  |  14KB  |  366 lines

  1. % ecstdedt.tex
  2. %
  3. % (c) Copyright 1995, 1996, 1997 J"org Knappen
  4. % (c) Copyright 1990, 1992 Norbert Schwarz
  5. %
  6. % This file is part of ecfonts version 1.0
  7. %
  8. % Please read the files 00readme.txt, 00inst.txt, 00error.txt, and
  9. % copyrite.txt for further information
  10. %
  11. % You find some documentation in ecdoc.tex (needs LaTeX2e)
  12. %
  13. % Generating MF-files for the EC fonts        EC Version 1.0 / 19-JAN-1997
  14. %
  15. %  Running TeX with this file as an input results in a lot of
  16. %  Metafont font driver files (ecrm5.mf, ecrm6.mf, ..). The files
  17. %  which should be generated are marked in the following macro
  18. %  \FontsToBeGenerated. For each font there has to be an entry
  19. %  with the pt sizes the font should be generate with. Additionally
  20. %  in the heading \tablevalues all used pt sizes have to be mentioned,
  21. %  just to get an fine printout.
  22. %
  23. %  Furthermore there is a batch file which can be customized for the
  24. %  Metafont batch run.
  25. %
  26. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  27. %
  28. %  please change only here:
  29. %
  30. \long\def\FontsToBeGenerated{
  31.  
  32.      \tablevalues     ( 5[0500] 6[0600] 7[0700] 8[0800] 9[0900] 
  33.                           10[1000] 10.95[1095] 12[1200] 14.4[1440] 
  34.                           17.28[1728] 20.74[2074] 24.88[2488] 
  35.                           29.86[2986] 35.83[3583])
  36.  
  37.      \makefont ecrm   ( 5[0500] 6[0600] 7[0700] 8[0800] 9[0900] 
  38.                           10[1000] 10.95[1095] 12[1200] 14.4[1440] 
  39.                           17.28[1728] 20.74[2074] 24.88[2488] 29.86[2986] 
  40.                           35.83[3583])
  41.      \makefont ecsl   ( 5[0500] 6[0600] 7[0700] 8[0800] 9[0900] 
  42.                           10[1000] 10.95[1095] 12[1200] 14.4[1440] 
  43.                           17.28[1728] 20.74[2074] 24.88[2488] 29.86[2986] 
  44.                           35.83[3583])
  45.      \makefont ecbx   ( 5[0500] 6[0600] 7[0700] 8[0800] 9[0900] 
  46.                           10[1000] 10.95[1095] 12[1200] 14.4[1440] 
  47.                           17.28[1728] 20.74[2074] 24.88[2488] 29.86[2986] 
  48.                           35.83[3583])
  49.      \makefont ecbl   ( 5[0500] 6[0600] 7[0700] 8[0800] 9[0900] 
  50.                           10[1000] 10.95[1095] 12[1200] 14.4[1440] 
  51.                           17.28[1728] 20.74[2074] 24.88[2488] 29.86[2986] 
  52.                           35.83[3583])
  53.      \makefont ecrb   ( 5[0500] 6[0600] 7[0700] 8[0800] 9[0900] 
  54.                           10[1000] 10.95[1095] 12[1200] 14.4[1440] 
  55.                           17.28[1728] 20.74[2074] 24.88[2488] 29.86[2986] 
  56.                           35.83[3583])
  57.      \makefont ecti   ( 5[0500] 6[0600] 7[0700] 8[0800] 9[0900] 
  58.                           10[1000] 10.95[1095] 12[1200] 14.4[1440] 
  59.                           17.28[1728] 20.74[2074] 24.88[2488] 29.86[2986] 
  60.                           35.83[3583])
  61.      \makefont ecui   ( 5[0500] 6[0600] 7[0700] 8[0800] 9[0900] 
  62.                           10[1000] 10.95[1095] 12[1200] 14.4[1440] 
  63.                           17.28[1728] 20.74[2074] 24.88[2488] 29.86[2986] 
  64.                           35.83[3583])
  65.      \makefont ecbi   ( 5[0500] 6[0600] 7[0700] 8[0800] 9[0900] 
  66.                           10[1000] 10.95[1095] 12[1200] 14.4[1440] 
  67.                           17.28[1728] 20.74[2074] 24.88[2488] 29.86[2986] 
  68.                           35.83[3583])
  69.      \makefont eccc   ( 5[0500] 6[0600] 7[0700] 8[0800] 9[0900] 
  70.                           10[1000] 10.95[1095] 12[1200] 14.4[1440] 
  71.                           17.28[1728] 20.74[2074] 24.88[2488] 29.86[2986] 
  72.                           35.83[3583])
  73.      \makefont ecxc   ( 5[0500] 6[0600] 7[0700] 8[0800] 9[0900] 
  74.                           10[1000] 10.95[1095] 12[1200] 14.4[1440] 
  75.                           17.28[1728] 20.74[2074] 24.88[2488] 29.86[2986] 
  76.                           35.83[3583])
  77.      \makefont ecsc   ( 5[0500] 6[0600] 7[0700] 8[0800] 9[0900] 
  78.                           10[1000] 10.95[1095] 12[1200] 14.4[1440] 
  79.                           17.28[1728] 20.74[2074] 24.88[2488] 29.86[2986] 
  80.                           35.83[3583])
  81.      \makefont ecoc   ( 5[0500] 6[0600] 7[0700] 8[0800] 9[0900] 
  82.                           10[1000] 10.95[1095] 12[1200] 14.4[1440] 
  83.                           17.28[1728] 20.74[2074] 24.88[2488] 29.86[2986] 
  84.                           35.83[3583])
  85.      \makefont ecci   ( 5[0500] 6[0600] 7[0700] 8[0800] 9[0900] 
  86.                           10[1000] 10.95[1095] 12[1200] 14.4[1440] 
  87.                           17.28[1728] 20.74[2074] 24.88[2488] 29.86[2986]
  88.                           35.83[3583])
  89.      \makefont ectt   (% 5[0500] 6[0600] 7[0700] 
  90.                           8[0800] 9[0900] 
  91.                           10[1000] 10.95[1095] 12[1200] 14.4[1440] 
  92.                           17.28[1728] 20.74[2074] 24.88[2488] 29.86[2986]
  93.                           35.83[3583])
  94.      \makefont ecit   (% 5[0500] 6[0600] 7[0700] 
  95.                           8[0800] 9[0900] 
  96.                           10[1000] 10.95[1095] 12[1200] 14.4[1440] 
  97.                           17.28[1728] 20.74[2074] 24.88[2488] 29.86[2986]
  98.                           35.83[3583])
  99.      \makefont ecvt   (% 5[0500] 6[0600] 7[0700] 
  100.                           8[0800] 9[0900] 
  101.                           10[1000] 10.95[1095] 12[1200] 14.4[1440] 
  102.                           17.28[1728] 20.74[2074] 24.88[2488] 29.86[2986]
  103.                           35.83[3583])
  104.      \makefont ecvi   (% 5[0500] 6[0600] 7[0700] 
  105.                           8[0800] 9[0900] 
  106.                           10[1000] 10.95[1095] 12[1200] 14.4[1440] 
  107.                           17.28[1728] 20.74[2074] 24.88[2488] 29.86[2986]
  108.                           35.83[3583])
  109.      \makefont ectc   (% 5[0500] 6[0600] 7[0700] 
  110.                           8[0800] 9[0900] 
  111.                           10[1000] 10.95[1095] 12[1200] 14.4[1440] 
  112.                           17.28[1728] 20.74[2074] 24.88[2488] 29.86[2986]
  113.                           35.83[3583])
  114.      \makefont ecst   (% 5[0500] 6[0600] 7[0700] 
  115.                           8[0800] 9[0900] 
  116.                           10[1000] 10.95[1095] 12[1200] 14.4[1440] 
  117.                           17.28[1728] 20.74[2074] 24.88[2488] 29.86[2986]
  118.                           35.83[3583])
  119.      \makefont ecss   ( 5[0500] 6[0600] 7[0700] 8[0800] 9[0900] 
  120.                           10[1000] 10.95[1095] 12[1200] 14.4[1440] 
  121.                           17.28[1728] 20.74[2074] 24.88[2488] 29.86[2986]
  122.                           35.83[3583])
  123.      \makefont ecsi   ( 5[0500] 6[0600] 7[0700] 8[0800] 9[0900] 
  124.                           10[1000] 10.95[1095] 12[1200] 14.4[1440] 
  125.                           17.28[1728] 20.74[2074] 24.88[2488] 29.86[2986]
  126.                           35.83[3583])
  127.      \makefont ecsx   ( 5[0500] 6[0600] 7[0700] 8[0800] 9[0900] 
  128.                           10[1000] 10.95[1095] 12[1200] 14.4[1440] 
  129.                           17.28[1728] 20.74[2074] 24.88[2488] 29.86[2986]
  130.                           35.83[3583])
  131.      \makefont ecso   ( 5[0500] 6[0600] 7[0700] 8[0800] 9[0900] 
  132.                           10[1000] 10.95[1095] 12[1200] 14.4[1440] 
  133.                           17.28[1728] 20.74[2074] 24.88[2488] 29.86[2986]
  134.                           35.83[3583])
  135. %     \makefont ecff   ( 5[0500] 6[0600] 7[0700] 8[0800] 9[0900] 
  136. %                          10[1000] 10.95[1095] 12[1200] 14.4[1440] 
  137. %                          17.28[1728] 20.74[2074] 24.88[2488] 29.86[2986]
  138. %                          35.83[3583])
  139. %     \makefont ecfi   ( 5[0500] 6[0600] 7[0700] 8[0800] 9[0900] 
  140. %                          10[1000] 10.95[1095] 12[1200] 14.4[1440] 
  141. %                          17.28[1728] 20.74[2074] 24.88[2488] 29.86[2986]
  142. %                          35.83[3583])
  143. %     \makefont ecfb   ( 5[0500] 6[0600] 7[0700] 8[0800] 9[0900] 
  144. %                          10[1000] 10.95[1095] 12[1200] 14.4[1440] 
  145. %                          17.28[1728] 20.74[2074] 24.88[2488] 29.86[2986] 
  146. %                          35.83[3583])
  147.      \makefont ecdh   ( 5[0500] 6[0600] 7[0700] 8[0800] 9[0900] 
  148.                           10[1000] 10.95[1095] 12[1200] 14.4[1440] 
  149.                           17.28[1728] 20.74[2074] 24.88[2488] 29.86[2986] 
  150.                           35.83[3583])
  151. }
  152. % If a font with a fraction, e.g. "7.5", should be generated
  153. % and the file name is not allowed to contain a period, an
  154. % optional file name part can be specified.
  155. %
  156. %      7.5[0750]
  157. %
  158. %      result in - may be - "dcr0750.mf" and an entry of "gensize:=7.5;"
  159. %      (The new value has to be specified in the \tablevalues-line too!
  160. %
  161. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  162. %
  163. %  The Batch file entries   ( #1 contains the fontname )
  164. %
  165. %   should be of the following form:
  166. %
  167. %    \def\BatchOutput{\BatchLine{...}%
  168. %                          ...
  169. %                     \BatchLine{...}}
  170. %
  171. %
  172. %  preset value, change \BatchOutput if you like ....
  173. %
  174. \def\BatchOutput#1{
  175.       \BatchLine{$ MF "\string\mode=localfont; input #1"}
  176. }
  177. %
  178. %   File naming conventions:
  179. %
  180. \def\BatchFileName{ecfonts.com}
  181. %
  182. %
  183. \def\MetafontFileExtension{.mf}
  184. %
  185. \def\modedef{} % e.g.  \def\modedef{\string\mode:=hplaser;}
  186. %
  187. %
  188. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  189. %
  190. % please  n o  changes from here, thanks !
  191. %
  192. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  193. %
  194. %
  195. % (Avoiding inspecting the macros (sigh!)
  196. %
  197. %   Norbert Schwarz, Dezember 1990
  198. %
  199. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  200. \magnification\magstep1
  201. \overfullrule=0pt
  202. %\tracingonline1
  203. %\tracingcommands=1
  204. %\tracingmacros=1
  205. % some token handling
  206. \let\EA\expandafter
  207. \def\JoinToks#1=(#2+#3){#1=\EA\EA\EA{\EA\the\EA#2\the#3}}
  208. \def\UpToHere{\relax}
  209. \def\IgnoreRest#1#2\UpToHere{#1}
  210. \def\IgnoreFirst#1#2\relax\UpToHere{#2}
  211. \def\First#1{\EA\IgnoreRest\the#1{}\UpToHere}
  212. \def\FirstOf#1{\EA\EA\EA{\EA\IgnoreRest\the#1{}\UpToHere}}
  213. \def\MoveFirst(#1to#2){#2\FirstOf#1}
  214. \def\Rest#1{\EA\IgnoreFirst\the#1\relax\UpToHere}
  215. \def\RestOf#1{\EA\EA\EA{\EA\IgnoreFirst\the#1\relax\UpToHere}}
  216. \def\MoveRest(#1to#2){#2=\RestOf{#1}}
  217. % borrowed from p. 132 in N.Schwarz, Introduction to TeX (some advertising ..)
  218.  
  219. \newtoks\Basis
  220. \newtoks\Table
  221. \def\storetoks#1{\toks0={#1}\JoinToks\Table=(\Table+\toks0)}
  222. \Table={}
  223. %
  224. \def\hash{##}
  225. \newwrite \batchoutput
  226. \newwrite \fontoutput
  227. \def\today{\ifcase\month\or
  228.     January\or Februar\or March\or April\or May\or June\or
  229.     July\or August\or September\or October\or November\or December\fi,
  230.     \number\day,
  231.     \space\number\year}
  232.  
  233. \def\BatchLine#1{\immediate\write\batchoutput{#1}}
  234. \immediate\openout\batchoutput=\BatchFileName
  235.  
  236. \def\empty{}
  237. \def\minus{-}
  238. \def\blank{ }
  239. \def\singlefont#1 {%
  240.         \def\fontsize{#1}%\message{<#1>}%
  241.         \ifx\fontsize\minus\let\next\relax
  242.         \else
  243.             \ifx\fontsize\empty\let\next\singlefont
  244.             \else
  245.                 \ifx\fontsize\blank\let\next\singlefont
  246.                 \else
  247.                     \let\next\dofont
  248.           \fi\fi\fi
  249.         \next}
  250.  
  251. \def\doentry{\MoveFirst(\Workbase to\Htok)%
  252.              \Workbase=\RestOf\Workbase
  253.              \edef\doou{\the\Htok}%
  254.              \ifx\doou\fontsize
  255.                  \def\dooU{\storetoks{\hfill $\bullet$\hfill&}}%
  256.                  \let\weiter\dooU
  257.              \else
  258.                  \def\weiter{\storetoks{~\hfill&}\doentry}%
  259.              \fi\weiter}
  260.  
  261.  
  262. \def\singletablevalue#1 {%
  263.         \def\fontsize{#1}%
  264.         \ifx\fontsize\blank\let\next\singletablevalue
  265.         \else
  266.                 \ifx\minus\fontsize\let\next\relax
  267.                 \else\let\next\dotablevalue\fi
  268.         \fi
  269.         \next}
  270.  
  271. \newtoks\Htok
  272. \newtoks\Workbase
  273. \def\dotablevalue{\edef\dooo{\Htok={{\fontsize}}}%
  274.         \dooo
  275.         \EA\storetoks\EA{\fontsize&}%
  276.         \JoinToks\Basis=(\Basis+\Htok)\singletablevalue}
  277.  
  278. \def\tablevalues(#1){\storetoks{\bf Fonts &}\singletablevalue#1 -
  279.         \storetoks{\cr}}
  280.  
  281. \def\makefont #1 (#2){\JoinToks\Workbase=(\Basis+\Basis)%
  282.         \myc=0\immediate\write15{}%
  283.         \edef\fontnamebody{#1}%
  284.         \def\dostoretoks{\storetoks{#1 &}}\dostoretoks
  285.          \singlefont #2 - \storetoks{\cr}}
  286.  
  287. \def~{\ifdim\dimen0>0pt
  288.         \message{\number\dimen0}%
  289.         \global\advance\dimen0 by -5.25pt
  290.         \message{ }\fi}
  291.  
  292. \newcount\myc
  293. \def\extraspaces{\setbox0=\hbox{\tt\fontname}%
  294. \dimen0=78.75pt
  295. \advance\dimen0 by -\wd0\relax
  296.         \advance\myc by 1
  297.         \ifnum \myc=5
  298.         \immediate\write15{}%
  299.         \myc=0 \fi}
  300.  
  301.  
  302. \def\dofonttest#1[#2]#3\nothing{%
  303. \def\fontsize{#2}%
  304. \ifx\fontsize\empty
  305.         \def\fontsizename{#1}%
  306.         \def\fontsize{#1}%
  307. \else
  308.         \def\fontsize{#1}%
  309.         \def\fontsizename{#2}%
  310. \fi}
  311. \def\dofont{\doentry\expandafter\dofonttest\fontsize[]\nothing\Dofont}
  312.  
  313. {\catcode`\%=11
  314. \catcode`\|=14
  315. \gdef\Dofont{|
  316.   \edef\fontname{\fontnamebody\fontsizename\MetafontFileExtension}|
  317.   \edef\dowrite{|
  318.   \immediate\openout \fontoutput = \fontname|
  319.   \immediate\write
  320.      \fontoutput {% This is \fontname\space
  321.      in text format as of \today}|
  322.   \immediate\write \fontoutput {if unknown exbase: input exbase fi;}|
  323.   \immediate\write \fontoutput {}|
  324.   \immediate\write \fontoutput {\modedef}|
  325.   \immediate\write \fontoutput {gensize:=\fontsize;}|
  326.   \immediate\write \fontoutput {generate \fontnamebody}|
  327.   \immediate\closeout \fontoutput|
  328.   \BatchOutput{\fontnamebody\fontsizename}
  329.   \message{\fontname\blank}|\extraspaces~~~~~~~~~~~|
  330. }\dowrite\singlefont}}
  331. \immediate\write15{generated mf-files:}
  332. \immediate\write15{-------------------}
  333.  
  334. \nopagenumbers
  335.  
  336. \def\minimumbox#1{\setbox0=\hbox{#1}%
  337.         \ifdim\wd0>15pt \box0\else \hbox to 15pt{\hfil
  338.         \box0\hfil}\fi}
  339. \storetoks{\hrule
  340. \medskip
  341. \centerline{Overview EC - Standard font set}
  342. \medskip
  343. \hrule
  344. \bigskip
  345. \noindent The following table describes the generated {*.mf} files which
  346. are needed for the setup of the standard DC/EC-font set.
  347. \bigskip
  348. \bigskip
  349. $$\vbox\bgroup\nointerlineskip\halign\bgroup\hash\hfil\quad&&\strut
  350.         \quad\minimumbox{\hash}\cr
  351. \noalign{\medskip}}
  352.  
  353.  
  354.  
  355. %\tracingonline1
  356. %\tracingmacros2
  357. %\tracingcommands1
  358.  
  359. \FontsToBeGenerated
  360.  
  361. \storetoks{\egroup\egroup$$}
  362.  
  363. \let\hash=#
  364. \the\Table
  365. \end
  366.